草庐IT

database - Redis的数据库模型分类

全部标签

ruby-on-rails - 在 Rails 模型中动态生成范围

我想动态生成作用域。假设我有以下模型:classProduct我们可以用基于POSSIBLE_SIZES常量的东西替换scope调用吗?我认为我违反了DRY以重复它们。 最佳答案 你可以做classProduct但我个人更喜欢:classProduct 关于ruby-on-rails-在Rails模型中动态生成范围,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14061595/

ruby - 覆盖 Mongoid 模型的 setter 和 getter

有没有办法在Mongoid中覆盖模型的setter或getter?像这样的东西:classProjectincludeMongoid::Documentfield:name,:type=>Stringfield:num_users,type:Integer,default:0key:namehas_and_belongs_to_many:users,class_name:"User",inverse_of::projects#Thiswillnotworkdefname=(projectname)@name=projectname.capitalizeendendname方法可以在不使

ruby-on-rails - 带有字符串输入的引用模型

假设我希望创建一个页面,该页面可以使用type(string)和id(int)查询所需的对象。/query?type=people&id=1会接我Person.find(1)鉴于/query?type=cities&id=123会接我City.find(123)但是,关于如何将字符串转换为所需的模型类,我遇到了问题。我能想到的唯一办法是caseparams[:type]when'people'@object=Person.find(params[:id])when'cities'@object=City.find(params[:id])end但是,如果我有更多类型的模型,这种方法就会

ruby-on-rails - rails 模型的默认值

迁移时设置默认值好还是回调时设置默认值好?很难在迁移中删除(或设置另一个)默认值,但在模型中它多了一段代码 最佳答案 在迁移中定义默认值也有一些缺点。当您只调用Model.new时,这将不起作用。我更喜欢写after_initialize回调,它让我设置默认属性:classModel 关于ruby-on-rails-rails模型的默认值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

ruby-on-rails - 如何从 YAML 文件加载一些 ActiveRecord 模型并将它们保存到数据库?

我正在尝试将一些查找表数据保存到YAML文件中,以便稍后当我需要在另一台机器上设置我的应用程序时,我可以将数据作为种子数据加载。数据是选择选项之类的东西,而且几乎已经设置好,所以不用担心序列化和反序列化之间的实时数据变化。我已经输出了这样的数据......file=File.open("#{RAILS_ROOT}/lib/tasks/questions/questions.yml",'w')questions=Question.find(:all,:order=>'order_position')file我可以像这样加载文件...questions=YAML.load_file('li

ruby-on-rails - 在rails 4中设计用户模型中保存自定义字段

我设计了一个用户模型并向其添加了额外的字段。当我创建和帐户时,一切正常,只有电子邮件、pw和pwconf。然后我想让用户进入编辑页面并填写可选的附加字段。但是,当他们提交时,所有内容都保存为nil。classRegistrationsControllertruerespond_withresource,:location=>after_update_path_for(resource)elseclean_up_passwordsresourcerespond_withresourceendenddefuser_paramsparams.require(:user).permit(:em

ruby - 导轨 : Advantages of storing session in database?

我只是想知道为什么将session存储在数据库中?将session存储在数据库中有什么好处吗? 最佳答案 数据库或memcached的优势在于session数据无法在客户端被篡改,并且您可以存储比使用cookie(4kB)更大的数据量。如果您的session存储在cookie或数据库中,并且重新启动网络服务,则session数据不会丢失。只有存储在memcached中才可能丢失。如果服务器是负载平衡的,那么session数据将传递到为请求提供服务的Web服务器,因此这不是cookie、数据库或内存缓存session的问题。cooki

ruby-on-rails - 如何编写 Devise 扩展(使用自定义数据存储)

我想为Devise编写一个扩展,允许您使用parse_resource作为数据存储(与ActiveRecord相反)。parse_resource是Parse.com的RESTapi的Ruby包装器。它的界面与ActiveRecord的界面几乎相同,并且是ActiveModel的提示。因此,Devise的扩展似乎可能不需要太多非样板文件。但是,我找不到任何教程。我必须依赖的是其他扩展的来源。来自MongoMapperextension,我认为有两个主要部分:Thegenerators(不是很需要)在这里你覆盖了DeviseGenerator#(generate_model|inject

ruby-on-rails - 如何构建我的 RSpec 测试文件夹、文件和数据库?

我已经使用RoR进行开发一年多了,但我才刚刚开始使用RSpec进行测试。对于标准模型/Controller测试,我通常没有任何问题,但问题是我想测试一些复杂的功能流程,并且不知道如何构建我的测试文件夹/文件/数据库。这是我的应用程序的基本结构:classCustomerhas_one:wallethas_many:ordershas_many:invoices,through::ordershas_many:invoice_summariesendclassWalletbelongs_to:customerendclassOrderhas_one:invoicebelongs_to:c

ruby-on-rails - 将 PG::Result 转换为 Active Record 模型

pg-ruby允许您一次性向数据库发送多个查询,这有助于最大限度地减少访问数据库的次数:results=[]conn.send_query('QUERY1;QUERY2;QUERY3')conn.blockwhileresult=conn.get_resultresults假设对于任何result我已经知道ActiveRecord模型,将结果转换为模型的合适方法是什么?现在我正在做以下事情:fields=result.fieldsmodels=result.values.map{|value_set|Model.new(Hash[fields.zip(value_set)])}该方法的